
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode='nonstrict';
set hive.exec.max.dynamic.partitions=400;
set hive.exec.max.dynamic.partitions.pernode=400;



insert overwrite table jms_dm.dm_whole_decide_duty_flow_base_dt
select
     reach.waybill_no                        --运单号
    ,reach.if_platform_standard              --自有平台时效是否达成:1达成,0未达成(推荐路由)
    ,reach.if_cainiao_platform_pres_standard --七星潭平台时效是否达成:1达成,0未达成
    ,reach.order_source_code                 --订单来源编码
    ,reach.order_source_name                 --订单来源名称
    ,reach.start_network_code                --始发网点编码
    ,reach.start_network_name                --始发网点名称
    ,reach.start_city_code                   --始发城市编码
    ,reach.start_city_name                   --始发城市名称
    ,reach.start_provider_code               --始发省份编码
    ,reach.start_provider_name               --始发省份名称
    ,reach.start_fran_code                   --始发加盟商编码
    ,reach.start_fran_name                   --始发加盟商名称
    ,reach.start_agent_code                  --始发代理区编码
    ,reach.start_agent_name                  --始发代理区名称
    ,reach.start_center_code                 --始发中心编码
    ,reach.start_center_name                 --始发中心名称
    ,reach.end_network_code                  --目的网点编码
    ,reach.end_network_name                  --目的网点名称
    ,reach.end_city_code                     --目的城市编码
    ,reach.end_city_name                     --目的城市名称
    ,reach.end_provider_code                 --目的省份编码
    ,reach.end_provider_name                 --目的省份名称
    ,reach.end_fran_code                     --目的加盟商编码
    ,reach.end_fran_name                     --目的加盟商名称
    ,reach.end_agent_code                    --目的代理区编码
    ,reach.end_agent_name                    --目的代理区名称
    ,reach.end_center_code                   --目的中心编码
    ,reach.end_center_name                   --目的中心名称
    ,main.duty_type                          --七星潭责任类型
    ,main.duty_main_code                     --七星潭责任主体编码
    ,main.duty_main_name                     --七星潭责任主体名称
    ,main.duty_main_type                     --七星潭责任主体类型
    ,main.duty_main_fran_code                --七星潭责任加盟商编码
    ,main.duty_main_fran_name                --七星潭责任加盟商名称
    ,main.duty_main_agent_code               --七星潭责任代理区编码
    ,main.duty_main_agent_name               --七星潭责任代理区名称
    ,main.duty_provider_code                 --七星潭责任省份编码
    ,main.duty_provider_desc                 --七星潭责任省份名称
    ,main.duty_city_code                     --七星潭责任城市编码
    ,main.duty_city_name                     --七星潭责任城市名称
    ,main.ziyou_duty_type                    --自有平台责任类型
    ,main.ziyou_duty_main_code               --自有平台责任主体编码
    ,main.ziyou_duty_main_name               --自有平台责任主体名称
    ,main.ziyou_duty_main_type               --自有平台责任主体类型
    ,main.ziyou_duty_main_fran_code          --自有平台责任加盟商编码
    ,main.ziyou_duty_main_fran_name          --自有平台责任加盟商名称
    ,main.ziyou_duty_main_agent_code         --自有平台责任代理区编码
    ,main.ziyou_duty_main_agent_name         --自有平台责任代理区名称
    ,main.ziyou_duty_provider_code           --自有平台责任省份编码
    ,main.ziyou_duty_provider_desc           --自有平台责任省份名称
    ,main.ziyou_duty_city_code               --自有平台责任城市编码
    ,main.ziyou_duty_city_name               --自有平台责任城市名称
    ,reach.cainiao_plan_sign_time            --七星潭平台规划签收时间
    ,reach.ziyou_plan_sign_time              --自有平台规划签收时间
    ,reach.aging_sign_time                   --时效签收时间
    ,reach.actual_sign_time                  --实际签收时间
    ,to_date(reach.cainiao_plan_sign_time) as dt
from (
    select
         waybill_no                   as waybill_no          --运单号
        ,island_code                  as order_source_code   --订单来源编码
        ,island_name                  as order_source_name   --订单来源名称
        ,start_pick_network_code      as start_network_code  --始发网点编码
        ,start_pick_network_name      as start_network_name  --始发网点名称
        ,start_parent_network_code    as start_fran_code     --始发加盟商code
        ,start_parent_network_name    as start_fran_name     --始发加盟商name
        ,start_city_id                as start_city_code     --始发城市id
        ,start_city_desc              as start_city_name     --始发城市name
        ,start_provider_id            as start_provider_code --始发省份id
        ,start_provider_desc          as start_provider_name --始发省份name
        ,start_subordinate_agent_code as start_agent_code    --始发代理区code
        ,start_subordinate_agent_name as start_agent_name    --始发代理区name
        ,start_center_code            as start_center_code   --始发转运中心code
        ,start_center_name            as start_center_name   --始发转运中心name
        ,sign_network_code            as end_network_code    --签收网点编码
        ,sign_network_name            as end_network_name    --签收网点名称
        ,sign_parent_network_code     as end_fran_code       --签收加盟商code
        ,sign_parent_network_name     as end_fran_name       --签收加盟商name
        ,sign_city_id                 as end_city_code       --签收城市id
        ,sign_city_desc               as end_city_name       --签收城市name
        ,sign_provider_id             as end_provider_code   --签收省份id
        ,sign_provider_desc           as end_provider_name   --签收省份name
        ,sign_subordinate_agent_code  as end_agent_code      --签收代理区code
        ,sign_subordinate_agent_name  as end_agent_name      --签收代理区name
        ,sign_center_code             as end_center_code     --目的转运中心code
        ,sign_center_name             as end_center_name     --目的转运中心name
        ,plan_sign_date               as ziyou_plan_sign_time   --自有平台规划签收时间
        ,plan_cainiao_platform_date   as cainiao_plan_sign_time --七星潭规划签收时间
        ,is_pres_standard                  as if_platform_standard              --自有平台时效是否达成:1达成,0未达成
        ,cainiao_is_platform_pres_standard as if_cainiao_platform_pres_standard --七星潭平台时效是否达成:1达成,0未达成
        ,pres_sign_time                    as aging_sign_time                   --时效签收时间
        ,real_sign_time                    as actual_sign_time                  --实际签收时间
    from jms_dm.dm_prescription_reach_details_dt reach --达成率明细
    where reach.dt between date_sub('{{ execution_date | cst_ds }}',15) and '{{ execution_date | cst_ds }}'
    and to_date(reach.plan_cainiao_platform_date) between date_sub('{{ execution_date | cst_ds }}',5) and date_add('{{ execution_date | cst_ds }}',5)
) reach
left join (
    select *
    from jms_tmp.dm_whole_decide_duty_base_dt
    where dt between date_sub('{{ execution_date | cst_ds }}',5) and date_add('{{ execution_date | cst_ds }}',5)
) main on reach.waybill_no = main.waybill_no
distribute by dt,pmod(hash(rand()),80)
;







